package com.ctshk.rpc.order.tour.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@ApiModel(value="系列团订单DTO", description="系列团订单DTO")
public class SeriesOrderDTO implements Serializable {

    @ApiModelProperty(value = "ID")
    private Long id;

    @ApiModelProperty(value = "订单号")
    private String orderNumber;

    @ApiModelProperty(value = "团期ID")
    private Long scheduleId;

    @ApiModelProperty(value = "联络人中文姓")
    private String contactCnSurname;

    @ApiModelProperty(value = "联络人中文名")
    private String contactCnName;

    @ApiModelProperty(value = "联络人英文姓")
    private String contactEnSurname;

    @ApiModelProperty(value = "联络人英文名")
    private String contactEnName;

    @ApiModelProperty(value = "联络人性别")
    private Integer contactGender;

    @ApiModelProperty(value = "联络电话")
    private String contactTelephones;

    @ApiModelProperty(value = "联系邮箱")
    private String contactEmail;

    @ApiModelProperty(value = "内部备注")
    private String internalRemark;

    @ApiModelProperty(value = "客户类型")
    private Integer customerType;

    @ApiModelProperty(value = "大客户ID")
    private Long bigClientId;

    @ApiModelProperty(value = "大客户名称")
    private String bigClientName;

    @ApiModelProperty(value = "总人数")
    private Integer totalPeople;

    @ApiModelProperty(value = "总金额")
    private BigDecimal totalPrice;

    @ApiModelProperty(value = "房间数")
    private Integer roomNum;

    @ApiModelProperty(value = "星赏会会员ID")
    private String memberId;

    @ApiModelProperty(value = "会员姓名")
    private String memberName;

    @ApiModelProperty(value = "会员手机号")
    private String memberMobile;

    @ApiModelProperty(value = "会员邮箱")
    private String memberEmail;

    @ApiModelProperty(value = "会员总积分")
    private String memberScore;

    @ApiModelProperty(value = "会员等级")
    private String memberLevel;

    @ApiModelProperty(value = "下单类型")
    private Integer orderType;

    @ApiModelProperty(value = "下单状态")
    private Integer placeOrderStatus;

    @ApiModelProperty(value = "所属代理商ID")
    private Long agentId;

    @ApiModelProperty(value = "代理商名称")
    private String agentName;

    @ApiModelProperty(value = "代理人ID")
    private Long agentUserId;

    @ApiModelProperty(value = "代理人名称")
    private String agentUserName;

    @ApiModelProperty(value = "创建人")
    private Long createId;

    @ApiModelProperty(value = "修改人")
    private Long modifiedId;

    @ApiModelProperty(value = "删除标识")
    private Integer isDeleted;

    @ApiModelProperty(value = "成人人数")
    private Integer adultPeople;

    @ApiModelProperty(value = "长者人数")
    private Integer elderPeople;

    @ApiModelProperty(value = "儿童人数")
    private Integer childrenPeople;


    //团期
    @ApiModelProperty(value = "团号")
    private String tripNumber;

    @ApiModelProperty(value = "行程标题")
    private String title;

    @ApiModelProperty(value = "行程id")
    private Long tripId;

    @ApiModelProperty(value = "出发日期")
    private LocalDate departureDate;

    @ApiModelProperty(value = "团期状态(1:未成团 2：已成团 3：停售 4：保留 5：不成团 6：已完团)")
    private Integer scheduleStatus;

    @ApiModelProperty(value = "订单状态（0 待使用 1已完成 2用户取消 3超时关闭 4售后中 5售后完成）（C端）")
    private Integer orderStatus;

    @ApiModelProperty(value = "支付截止时间")
    private LocalDateTime payEndTime;

    @ApiModelProperty(value = "销量")
    private Integer saleCount;

    @ApiModelProperty(value = "C端下单用户id")
    private Long userId;

}
